<template>
	<view>
		<!-- 首页  留言广场 -->
		<view class="msg_content_bg">
			<!-- 用msgcontent组件 展示消息内容 使用 v-for 循环展示从服务器获得的消息 -->
			<msgcontent v-for="(item,index) in msgList" :key="index" :msgobj="item"></msgcontent>
		</view>
	</view>
</template>

<script>
	// 使用import 引入common这个公共目录下的 config.js文件
	import config from '../../common/config.js'
	export default {
		// 初始化页面的变量
		data() {
			return {
				title: 'Hello',
				msgList: new Array()
			}
		},
		// 页面加载，展示的时候要调用的方法
		onShow() {
			// 获取本都的token 判断是否已经登录
			uni.getStorage({
				key: "token",
				success: function(res) {
					// 判断获取的token的值是否为空，如果为空，表示没有登录，跳转登录页面
					if (res.data == null || res.data == "") {
						// 使用relaunch跳转登录页面，这样跳转不带返回按钮
						uni.reLaunch({
							url: "/pages/login/login"
						})
					}
				},
				fail: function(res) {
					uni.reLaunch({
						url: "/pages/login/login"
					})
				}
			});
		},
		// 下拉刷新所需要的方法
		onPullDownRefresh() {
			console.log('refresh');
			this.getAllMessages();

		},
		// 页面加载后调用的方法
		onLoad() {
			console.log("onload");

			setTimeout(function() {
				console.log('start pulldown');
			}, 1000);
			uni.startPullDownRefresh();
			// 页面加载后，直接调用获取消息广场所有内容的接口 获取首页要展示的消息
			this.getAllMessages();
		},
		methods: {
			// 获取消息广场内容的请求方法
			getAllMessages() {
				let allMsgUrl = config.baseURL + "message/allmsg"; // config的baseURL 拼接接口名称
				self = this;
				uni.request({
					url: allMsgUrl,
					method: 'GET',
					header: {
						"Authorization": config.getToken()
					},
					success(res) {
						console.log(res.data);
						setTimeout(function() {
							uni.stopPullDownRefresh();
						}, 1000);
						if (res.data.isok == 1) {
							let filteredArray = Array.from(res.data.data.message).filter(item => item !==
								undefined);
							self.msgList = filteredArray;
							console.log(self.msgList);
						} else {
							console.log(res.data.error_code);
							if (res.data.error_code == 401) {
								uni.reLaunch({
									url: "/pages/login/login"
								})
							}
							uni.showToast({
								title: "消息获取失败",
								icon: "error"
							})
						}
					},
					fail(res) {
						console.log(res.errMsg.error_code);
						setTimeout(function() {
							uni.stopPullDownRefresh();
						}, 1000);
						if (res.errMsg.error_code == 401) {
							uni.reLaunch({
								url: "/pages/login/login"
							})
						}
						uni.showToast({
							title: "消息获取失败",
							icon: "error"
						})
					}
				})
			}
		}
	}
</script>

<style>

</style>